#pragma once

#include <vector>
#include <algorithm>
#include "Center.h"
#include "KLine.h"
#include "IPoint.h"

class ICenter
{
public:
	virtual vector<Center*>* initCenters(vector<KLine*>* kLines) = 0;
	void outCenterHigh(vector<KLine*>* kLines, float* pfOUT);
	void outCenterLow(vector<KLine*>* kLines, float* pfOUT);
	void clearCenters(vector<Center*>* centers);
	virtual Center* findLastCenter(vector<KLine*>* kLines, int idx) = 0;
	vector<Center*>* findAllCenter(vector<KLine*>* kLines);
	Center* findLastExtendCenter(vector<KLine*>* kLines, int idx);
	vector<Center*>* findAllExtendCenter(vector<KLine*>* kLines);
};

